# 步骤：
# 1.导包

import logging.handlers
import logging

def init_log_config(filename,when_data="midnight",interval_data=1,backup_count=7):
    # 2.创建日志器对象
    logger = logging.getLogger()
    # 3.设置日志打印级别
    #     logging.DEBUG：调试级别
    #     logging.INFO：信息级别
    #     logging.WARNING：警告级别
    #     logging.ERROR：错误级别
    #     logging.CRITICAL：严重错误级别
    logger.setLevel(logging.DEBUG)
    # 4.创建处理器对象
    # 创建输出到控制台  处理器对象
    st = logging.StreamHandler()
    # 创建输出到日志文件 处理器对象
    fh = logging.handlers.TimedRotatingFileHandler(filename,
                                                   when=when_data,
                                                   interval=interval_data,
                                                   backupCount=backup_count,
                                                   encoding="utf-8")
    # when 字符串，指定日志切分间隔时间的单位，midnight:凌晨12点。
    # interval 是间隔时间单位的个数，指等待多少个when后继续进行日志记录
    # backupCount 是保留日志文件的个数。
    # 5.创建日志信息格式
    fmt = "%(asctime)s %(levelname)s [%(filename)s(%(funcName)s:%(lineno)d)] - %(message)s"
    formatter = logging.Formatter(fmt)
    # 设置给 控制台处理器
    st.setFormatter(formatter)
    # 设置给 日志文件处理器
    fh.setFormatter(formatter)
    # 6.给日志器添加处理器
    # 给日志对象 添加 控制台处理器
    logger.addHandler(st)
    # 给日志对象 添加 日志文件处理器
    logger.addHandler(fh)


